/*
 * 
 */

package com.memorytech.starchive.httpservice;

/**
 * The Interface IService.
 * 
 * @author Tam-LT
 */
public interface IService {
    public enum Methods {
        login, search, advancedSearch, getBarcodeInfo
    }

    public enum Criteria {
        and, or

    }

    /**
     * Login.
     * 
     * @param username the username
     * @param password the password
     * @param serverAddress the server address
     */
    public void login(String username, String password, String serverAddress);

    /**
     * Search.
     * 
     * @param barcode the barcode
     */
    public void search(String barcode);

    /**
     * Advanced search.
     * 
     * @param tapeName the tape name
     * @param fileName the file name
     * @param fileType the file type
     * @param criteria the criteria
     */
    public void advancedSearch(String tapeName, String fileName, String fileType, Criteria criteria);

    /**
     * Gets the barcode info.
     * 
     * @param barcodeName the barcode name
     * @param fList the f list
     * @param tList the t list
     * @param fileName the file name
     * @param fileType the file type
     * @param searchFrom the search from
     * @param searchTo the search to
     * @return the barcode info
     */
    public void getBarcodeInfo(String barcodeName, boolean fList, boolean tList, String fileName,
            String fileType, int searchFrom, int searchTo);

}
